package com.yiyuan.weixin.utils;

import com.yiyuan.weixin.model.ReceiveXmlEntity;

/**
 * Created by admin on 2017/3/27.
 */
public class WechatProcess {
    /**
     * 解析处理xml、获取智能回复结果（通过图灵机器人api接口）
     * @param xml 接收到的微信数据
     * @return  最终的解析结果（xml格式数据）
     */
    public String processWechatMag(String xml){
        /** 解析xml数据 */
        ReceiveXmlEntity xmlEntity = new ReceiveXmlProcess().getMsgEntity(xml);

        /** 以文本消息为例，调用图灵机器人api接口，获取回复内容 */
        String result = "";
//        if("text".endsWith(xmlEntity.getMsgType())){
//            result = new TulingApiProcess().getTulingResult(xmlEntity.getContent());
//        }
        if("text".endsWith(xmlEntity.getMsgType())){
           result=xmlEntity.getContent();
        }
        if("event".endsWith(xmlEntity.getMsgType())){
            if("LOCATION".endsWith(xmlEntity.getEvent()))
            {
                result="当前位置纬度："+xmlEntity.getLatitude()+",经度："+xmlEntity.getLongitude();
            }
            else {
                result="事件类型:"+xmlEntity.getEvent()+",eventKey:"+xmlEntity.getEventKey();
            }

        }
//        if("text".endsWith(xmlEntity.getMsgType())){
//            result=xmlEntity.getContent();
//        }
//        if("text".endsWith(xmlEntity.getMsgType())){
//            result=xmlEntity.getContent();
//        }
//        if("text".endsWith(xmlEntity.getMsgType())){
//            result=xmlEntity.getContent();
//        }
//        if("text".endsWith(xmlEntity.getMsgType())){
//            result=xmlEntity.getContent();
//        }
//        if("text".endsWith(xmlEntity.getMsgType())){
//            result=xmlEntity.getContent();
//        }


        /** 此时，如果用户输入的是“你好”，在经过上面的过程之后，result为“你也好”类似的内容
         *  因为最终回复给微信的也是xml格式的数据，所有需要将其封装为文本类型返回消息
         * */
        result = new FormatXmlProcess().formatXmlAnswer(xmlEntity.getFromUserName(), xmlEntity.getToUserName(), result);

        return result;
    }
}
